package lab

// Without 根据给定的多个值从数组中排除元素，返回一个新的数组
func Without[T comparable](array []T, values ...T) []T {
	keys := make(map[T]bool, len(values))
	for _, v := range values {
		keys[v] = true
	}
	var result []T
	for _, v := range array {
		if false == keys[v] {
			result = append(result, v)
		}
	}
	return result
}
